'Weak Dependency Graph [60.0]' ------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , length(mark(X)) -> mark(length(X)) , s(mark(X)) -> mark(s(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length(ok(X)) -> ok(length(X)) , s(ok(X)) -> ok(s(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X))} Details: We have computed the following set of weak (innermost) dependency pairs: { active^#(zeros()) -> c_0(cons^#(0(), zeros())) , active^#(and(tt(), X)) -> c_1() , active^#(length(nil())) -> c_2() , active^#(length(cons(N, L))) -> c_3(s^#(length(L))) , active^#(take(0(), IL)) -> c_4() , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL))) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , active^#(length(X)) -> c_8(length^#(active(X))) , active^#(s(X)) -> c_9(s^#(active(X))) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2)) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2))) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2)) , length^#(mark(X)) -> c_14(length^#(X)) , s^#(mark(X)) -> c_15(s^#(X)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , proper^#(zeros()) -> c_18() , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2))) , proper^#(0()) -> c_20() , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2))) , proper^#(tt()) -> c_22() , proper^#(length(X)) -> c_23(length^#(proper(X))) , proper^#(nil()) -> c_24() , proper^#(s(X)) -> c_25(s^#(proper(X))) , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X)) , s^#(ok(X)) -> c_30(s^#(X)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , top^#(mark(X)) -> c_32(top^#(proper(X))) , top^#(ok(X)) -> c_33(top^#(active(X)))} The usable rules are: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} The estimated dependency graph contains the following edges: {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} ==> {s^#(ok(X)) -> c_30(s^#(X))} {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} ==> {s^#(mark(X)) -> c_15(s^#(X))} {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} ==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} ==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))} ==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))} ==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))} ==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))} ==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} {active^#(length(X)) -> c_8(length^#(active(X)))} ==> {length^#(ok(X)) -> c_29(length^#(X))} {active^#(length(X)) -> c_8(length^#(active(X)))} ==> {length^#(mark(X)) -> c_14(length^#(X))} {active^#(s(X)) -> c_9(s^#(active(X)))} ==> {s^#(ok(X)) -> c_30(s^#(X))} {active^#(s(X)) -> c_9(s^#(active(X)))} ==> {s^#(mark(X)) -> c_15(s^#(X))} {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} ==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} ==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} ==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} ==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} {length^#(mark(X)) -> c_14(length^#(X))} ==> {length^#(ok(X)) -> c_29(length^#(X))} {length^#(mark(X)) -> c_14(length^#(X))} ==> {length^#(mark(X)) -> c_14(length^#(X))} {s^#(mark(X)) -> c_15(s^#(X))} ==> {s^#(ok(X)) -> c_30(s^#(X))} {s^#(mark(X)) -> c_15(s^#(X))} ==> {s^#(mark(X)) -> c_15(s^#(X))} {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))} ==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))} ==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))} ==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))} ==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} {proper^#(length(X)) -> c_23(length^#(proper(X)))} ==> {length^#(ok(X)) -> c_29(length^#(X))} {proper^#(length(X)) -> c_23(length^#(proper(X)))} ==> {length^#(mark(X)) -> c_14(length^#(X))} {proper^#(s(X)) -> c_25(s^#(proper(X)))} ==> {s^#(ok(X)) -> c_30(s^#(X))} {proper^#(s(X)) -> c_25(s^#(proper(X)))} ==> {s^#(mark(X)) -> c_15(s^#(X))} {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))} ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))} ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))} ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} ==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} ==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} ==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} ==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} {length^#(ok(X)) -> c_29(length^#(X))} ==> {length^#(ok(X)) -> c_29(length^#(X))} {length^#(ok(X)) -> c_29(length^#(X))} ==> {length^#(mark(X)) -> c_14(length^#(X))} {s^#(ok(X)) -> c_30(s^#(X))} ==> {s^#(ok(X)) -> c_30(s^#(X))} {s^#(ok(X)) -> c_30(s^#(X))} ==> {s^#(mark(X)) -> c_15(s^#(X))} {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} ==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} ==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} ==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} {top^#(mark(X)) -> c_32(top^#(proper(X)))} ==> {top^#(ok(X)) -> c_33(top^#(active(X)))} {top^#(mark(X)) -> c_32(top^#(proper(X)))} ==> {top^#(mark(X)) -> c_32(top^#(proper(X)))} {top^#(ok(X)) -> c_33(top^#(active(X)))} ==> {top^#(ok(X)) -> c_33(top^#(active(X)))} {top^#(ok(X)) -> c_33(top^#(active(X)))} ==> {top^#(mark(X)) -> c_32(top^#(proper(X)))} We consider the following path(s): 1) { top^#(mark(X)) -> c_32(top^#(proper(X))) , top^#(ok(X)) -> c_33(top^#(active(X)))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , top^#(mark(X)) -> c_32(top^#(proper(X))) , top^#(ok(X)) -> c_33(top^#(active(X)))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(ok(X)) -> c_33(top^#(active(X)))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(ok(X)) -> c_33(top^#(active(X)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [3] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [0] c_32(x1) = [1] x1 + [0] c_33(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(ok(X)) -> c_33(top^#(active(X)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [3] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [5] c_32(x1) = [1] x1 + [1] c_33(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(ok(X)) -> c_33(top^#(active(X)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [6] take(x1, x2) = [1] x1 + [1] x2 + [4] proper(x1) = [1] x1 + [14] ok(x1) = [1] x1 + [10] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [2] c_32(x1) = [1] x1 + [2] c_33(x1) = [1] x1 + [1] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(ok(X)) -> c_33(top^#(active(X)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [8] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [8] proper(x1) = [1] x1 + [8] ok(x1) = [1] x1 + [6] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [7] c_32(x1) = [1] x1 + [8] c_33(x1) = [1] x1 + [1] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(and(tt(), X)) -> mark(X)} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(ok(X)) -> c_33(top^#(active(X)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(and(tt(), X)) -> mark(X)} Details: Interpretation Functions: active(x1) = [1] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [2] and(x1, x2) = [1] x1 + [1] x2 + [8] tt() = [8] length(x1) = [1] x1 + [0] nil() = [2] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [0] c_32(x1) = [1] x1 + [0] c_33(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(ok(X)) -> c_33(top^#(active(X)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [1] nil() = [1] s(x1) = [1] x1 + [1] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [8] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [8] c_32(x1) = [1] x1 + [9] c_33(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(ok(X)) -> c_33(top^#(active(X)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [12] zeros() = [5] mark(x1) = [1] x1 + [4] cons(x1, x2) = [1] x1 + [1] x2 + [8] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [4] tt() = [1] length(x1) = [1] x1 + [12] nil() = [5] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [14] ok(x1) = [1] x1 + [12] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [0] c_32(x1) = [1] x1 + [1] c_33(x1) = [1] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , top^#(mark(X)) -> c_32(top^#(proper(X)))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(ok(X)) -> c_33(top^#(active(X)))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , top^#(mark(X)) -> c_32(top^#(proper(X)))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(ok(X)) -> c_33(top^#(active(X)))} Details: The problem is Match-bounded by 4. The enriched problem is compatible with the following automaton: { active_0(2) -> 4 , active_1(2) -> 11 , active_1(8) -> 13 , active_1(9) -> 13 , active_2(8) -> 24 , active_2(9) -> 24 , active_2(20) -> 26 , active_3(20) -> 29 , active_3(21) -> 27 , active_3(36) -> 29 , active_4(35) -> 37 , active_4(36) -> 39 , zeros_0() -> 2 , zeros_1() -> 9 , zeros_2() -> 22 , zeros_3() -> 34 , mark_0(2) -> 2 , mark_1(7) -> 4 , mark_1(7) -> 11 , mark_1(7) -> 13 , mark_2(20) -> 13 , mark_2(20) -> 24 , cons_1(8, 9) -> 7 , cons_2(16, 17) -> 15 , cons_2(16, 17) -> 19 , cons_2(21, 22) -> 20 , cons_3(27, 22) -> 26 , cons_3(27, 22) -> 29 , cons_3(30, 31) -> 19 , cons_3(30, 31) -> 33 , cons_3(35, 34) -> 36 , cons_4(37, 34) -> 29 , cons_4(37, 34) -> 39 , 0_0() -> 2 , 0_1() -> 8 , 0_2() -> 21 , 0_3() -> 35 , tt_0() -> 2 , tt_1() -> 8 , tt_2() -> 21 , tt_3() -> 35 , nil_0() -> 2 , nil_1() -> 8 , nil_2() -> 21 , nil_3() -> 35 , proper_1(2) -> 6 , proper_1(7) -> 15 , proper_2(7) -> 19 , proper_2(8) -> 16 , proper_2(9) -> 17 , proper_2(20) -> 19 , proper_3(20) -> 33 , proper_3(21) -> 30 , proper_3(22) -> 31 , ok_0(2) -> 2 , ok_1(8) -> 6 , ok_1(9) -> 6 , ok_2(20) -> 15 , ok_2(20) -> 19 , ok_2(21) -> 16 , ok_2(22) -> 17 , ok_3(34) -> 31 , ok_3(35) -> 30 , ok_3(36) -> 19 , ok_3(36) -> 33 , top^#_0(2) -> 1 , top^#_0(4) -> 3 , top^#_1(6) -> 5 , top^#_1(11) -> 10 , top^#_1(13) -> 12 , top^#_1(15) -> 14 , top^#_2(19) -> 18 , top^#_2(24) -> 23 , top^#_2(26) -> 25 , top^#_3(29) -> 28 , top^#_3(33) -> 32 , top^#_4(39) -> 38 , c_32_1(5) -> 1 , c_32_1(14) -> 3 , c_32_2(18) -> 10 , c_32_2(18) -> 12 , c_32_3(32) -> 23 , c_33_0(3) -> 1 , c_33_1(10) -> 1 , c_33_1(12) -> 5 , c_33_2(23) -> 5 , c_33_2(25) -> 14 , c_33_3(28) -> 18 , c_33_4(38) -> 32} 2) { active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [9] c_17(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} and weakly orienting the rules {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [5] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [1] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [2] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [1] take^#(x1, x2) = [1] x1 + [1] x2 + [11] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [0] c_17(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} and weakly orienting the rules { take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [7] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [1] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(0(), IL)) -> mark(nil())} and weakly orienting the rules { active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(0(), IL)) -> mark(nil())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [7] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [1] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [4] take(x1, x2) = [1] x1 + [1] x2 + [4] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [2] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [2] nil() = [0] s(x1) = [1] x1 + [2] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [6] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [2] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [1] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [0] zeros() = [1] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [14] 0() = [3] and(x1, x2) = [1] x1 + [1] x2 + [1] tt() = [0] length(x1) = [1] x1 + [0] nil() = [3] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [1] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [0] c_17(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [8] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [1] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [0] c_17(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 2 , 0_0() -> 2 , tt_0() -> 2 , nil_0() -> 2 , ok_0(2) -> 2 , active^#_0(2) -> 1 , take^#_0(2, 2) -> 1 , c_16_0(1) -> 1 , c_17_0(1) -> 1 , c_31_0(1) -> 1} 3) { active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2))) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2))) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [1] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [9] c_17(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} and weakly orienting the rules {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [5] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [1] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [1] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [2] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [11] c_11(x1) = [1] x1 + [1] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [0] c_17(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} and weakly orienting the rules { take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [1] x1 + [7] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [1] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(0(), IL)) -> mark(nil())} and weakly orienting the rules { active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2))) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(0(), IL)) -> mark(nil())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [7] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [1] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [1] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2))) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [4] take(x1, x2) = [1] x1 + [1] x2 + [4] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [2] c_11(x1) = [1] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2))) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [2] nil() = [0] s(x1) = [1] x1 + [2] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [6] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [2] c_11(x1) = [1] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [1] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2))) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [0] zeros() = [1] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [14] 0() = [3] and(x1, x2) = [1] x1 + [1] x2 + [1] tt() = [0] length(x1) = [1] x1 + [0] nil() = [3] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [1] c_11(x1) = [1] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [0] c_17(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2))) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [8] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [1] x1 + [1] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [0] c_17(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2))) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2))) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 2 , 0_0() -> 2 , tt_0() -> 2 , nil_0() -> 2 , ok_0(2) -> 2 , active^#_0(2) -> 1 , take^#_0(2, 2) -> 1 , c_16_0(1) -> 1 , c_17_0(1) -> 1 , c_31_0(1) -> 1} 4) { active^#(length(X)) -> c_8(length^#(active(X))) , length^#(ok(X)) -> c_29(length^#(X)) , length^#(mark(X)) -> c_14(length^#(X))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(length(X)) -> c_8(length^#(active(X))) , length^#(ok(X)) -> c_29(length^#(X)) , length^#(mark(X)) -> c_14(length^#(X))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [1] length^#(x1) = [1] x1 + [1] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [8] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [4] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [1] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {length^#(mark(X)) -> c_14(length^#(X))} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {length^#(mark(X)) -> c_14(length^#(X))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(length(X)) -> c_8(length^#(active(X)))} and weakly orienting the rules { length^#(mark(X)) -> c_14(length^#(X)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(length(X)) -> c_8(length^#(active(X)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [11] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [6] length^#(x1) = [1] x1 + [2] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [1] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [3] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active^#(length(X)) -> c_8(length^#(active(X))) , length^#(mark(X)) -> c_14(length^#(X)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [4] s(x1) = [1] x1 + [3] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [2] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [1] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(0(), IL)) -> mark(nil())} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active^#(length(X)) -> c_8(length^#(active(X))) , length^#(mark(X)) -> c_14(length^#(X)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(0(), IL)) -> mark(nil())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [3] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [1] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(and(tt(), X)) -> mark(X)} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active(length(nil())) -> mark(0()) , active^#(length(X)) -> c_8(length^#(active(X))) , length^#(mark(X)) -> c_14(length^#(X)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(and(tt(), X)) -> mark(X)} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [4] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [2] 0() = [13] and(x1, x2) = [1] x1 + [1] x2 + [3] tt() = [2] length(x1) = [1] x1 + [0] nil() = [15] s(x1) = [1] x1 + [8] take(x1, x2) = [1] x1 + [1] x2 + [4] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [2] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [1] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , active(take(0(), IL)) -> mark(nil()) , active(length(nil())) -> mark(0()) , active^#(length(X)) -> c_8(length^#(active(X))) , length^#(mark(X)) -> c_14(length^#(X)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [14] 0() = [2] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [3] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [4] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(length(cons(N, L))) -> mark(s(length(L))) , active(and(tt(), X)) -> mark(X) , active(take(0(), IL)) -> mark(nil()) , active(length(nil())) -> mark(0()) , active^#(length(X)) -> c_8(length^#(active(X))) , length^#(mark(X)) -> c_14(length^#(X)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [7] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [1] and(x1, x2) = [1] x1 + [1] x2 + [8] tt() = [0] length(x1) = [1] x1 + [0] nil() = [8] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [1] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [2] length^#(x1) = [1] x1 + [1] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(length(cons(N, L))) -> mark(s(length(L))) , active(and(tt(), X)) -> mark(X) , active(take(0(), IL)) -> mark(nil()) , active(length(nil())) -> mark(0()) , active^#(length(X)) -> c_8(length^#(active(X))) , length^#(mark(X)) -> c_14(length^#(X)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(length(cons(N, L))) -> mark(s(length(L))) , active(and(tt(), X)) -> mark(X) , active(take(0(), IL)) -> mark(nil()) , active(length(nil())) -> mark(0()) , active^#(length(X)) -> c_8(length^#(active(X))) , length^#(mark(X)) -> c_14(length^#(X)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length^#(ok(X)) -> c_29(length^#(X))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , active^#_0(2) -> 15 , active^#_0(3) -> 15 , active^#_0(5) -> 15 , active^#_0(7) -> 15 , active^#_0(9) -> 15 , active^#_0(13) -> 15 , length^#_0(2) -> 28 , length^#_0(3) -> 28 , length^#_0(5) -> 28 , length^#_0(7) -> 28 , length^#_0(9) -> 28 , length^#_0(13) -> 28 , c_14_0(28) -> 28 , c_29_0(28) -> 28} 5) { active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [1] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} and weakly orienting the rules {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [10] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [1] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [3] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [1] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(0(), IL)) -> mark(nil())} and weakly orienting the rules { active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(0(), IL)) -> mark(nil())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [1] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [8] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [1] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [1] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [8] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [1] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [5] zeros() = [2] mark(x1) = [1] x1 + [4] cons(x1, x2) = [1] x1 + [1] x2 + [2] 0() = [5] and(x1, x2) = [1] x1 + [1] x2 + [5] tt() = [12] length(x1) = [1] x1 + [2] nil() = [8] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [4] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [1] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [4] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [9] tt() = [0] length(x1) = [1] x1 + [0] nil() = [3] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [4] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [1] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 2 , 0_0() -> 2 , tt_0() -> 2 , nil_0() -> 2 , ok_0(2) -> 2 , active^#_0(2) -> 1 , cons^#_0(2, 2) -> 1 , c_12_0(1) -> 1 , c_27_0(1) -> 1} 6) { active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [3] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} and weakly orienting the rules {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [10] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [1] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [3] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [1] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(0(), IL)) -> mark(nil())} and weakly orienting the rules { active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(0(), IL)) -> mark(nil())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [1] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [8] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [1] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [1] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [8] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [1] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [13] zeros() = [10] mark(x1) = [1] x1 + [4] cons(x1, x2) = [1] x1 + [1] x2 + [2] 0() = [5] and(x1, x2) = [1] x1 + [1] x2 + [5] tt() = [0] length(x1) = [1] x1 + [2] nil() = [8] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [4] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 2 , 0_0() -> 2 , tt_0() -> 2 , nil_0() -> 2 , ok_0(2) -> 2 , active^#_0(2) -> 1 , and^#_0(2, 2) -> 1 , c_13_0(1) -> 1 , c_28_0(1) -> 1} 7) { active^#(s(X)) -> c_9(s^#(active(X))) , s^#(ok(X)) -> c_30(s^#(X)) , s^#(mark(X)) -> c_15(s^#(X))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(s(X)) -> c_9(s^#(active(X))) , s^#(ok(X)) -> c_30(s^#(X)) , s^#(mark(X)) -> c_15(s^#(X))} Details: We apply the weight gap principle, strictly orienting the rules {s^#(mark(X)) -> c_15(s^#(X))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {s^#(mark(X)) -> c_15(s^#(X))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [10] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [3] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(s(X)) -> c_9(s^#(active(X)))} and weakly orienting the rules {s^#(mark(X)) -> c_15(s^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(s(X)) -> c_9(s^#(active(X)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [3] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [1] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [3] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_30(s^#(X))} and weakly orienting the rules { active^#(s(X)) -> c_9(s^#(active(X))) , s^#(mark(X)) -> c_15(s^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_30(s^#(X))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [1] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [1] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [3] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_30(s^#(X)) , active^#(s(X)) -> c_9(s^#(active(X))) , s^#(mark(X)) -> c_15(s^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [4] take(x1, x2) = [1] x1 + [1] x2 + [4] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [5] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [3] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [1] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_30(s^#(X)) , active^#(s(X)) -> c_9(s^#(active(X))) , s^#(mark(X)) -> c_15(s^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [1] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [8] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [6] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [5] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [1] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_30(s^#(X)) , active^#(s(X)) -> c_9(s^#(active(X))) , s^#(mark(X)) -> c_15(s^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [6] 0() = [4] and(x1, x2) = [1] x1 + [1] x2 + [4] tt() = [8] length(x1) = [1] x1 + [0] nil() = [4] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [10] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [1] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [1] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_30(s^#(X)) , active^#(s(X)) -> c_9(s^#(active(X))) , s^#(mark(X)) -> c_15(s^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [2] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [6] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [6] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [11] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [1] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_30(s^#(X)) , active^#(s(X)) -> c_9(s^#(active(X))) , s^#(mark(X)) -> c_15(s^#(X))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(cons(N, L))) -> mark(s(length(L))) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_30(s^#(X)) , active^#(s(X)) -> c_9(s^#(active(X))) , s^#(mark(X)) -> c_15(s^#(X))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , active^#_0(2) -> 15 , active^#_0(3) -> 15 , active^#_0(5) -> 15 , active^#_0(7) -> 15 , active^#_0(9) -> 15 , active^#_0(13) -> 15 , s^#_0(2) -> 21 , s^#_0(3) -> 21 , s^#_0(5) -> 21 , s^#_0(7) -> 21 , s^#_0(9) -> 21 , s^#_0(13) -> 21 , c_15_0(21) -> 21 , c_30_0(21) -> 21} 8) {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} Details: We apply the weight gap principle, strictly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [1] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [3] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [4] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [1] c_11(x1) = [1] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [8] s(x1) = [1] x1 + [8] take(x1, x2) = [1] x1 + [1] x2 + [8] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [3] c_11(x1) = [1] x1 + [1] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [15] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [15] c_11(x1) = [1] x1 + [1] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(and(tt(), X)) -> mark(X)} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(and(tt(), X)) -> mark(X)} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [2] tt() = [2] length(x1) = [1] x1 + [0] nil() = [4] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [7] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [12] c_11(x1) = [1] x1 + [2] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [12] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [7] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [1] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [8] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [8] length(x1) = [1] x1 + [2] nil() = [1] s(x1) = [1] x1 + [1] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [1] c_11(x1) = [1] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , active^#_0(2) -> 15 , active^#_0(3) -> 15 , active^#_0(5) -> 15 , active^#_0(7) -> 15 , active^#_0(9) -> 15 , active^#_0(13) -> 15 , take^#_0(2, 2) -> 31 , take^#_0(2, 3) -> 31 , take^#_0(2, 5) -> 31 , take^#_0(2, 7) -> 31 , take^#_0(2, 9) -> 31 , take^#_0(2, 13) -> 31 , take^#_0(3, 2) -> 31 , take^#_0(3, 3) -> 31 , take^#_0(3, 5) -> 31 , take^#_0(3, 7) -> 31 , take^#_0(3, 9) -> 31 , take^#_0(3, 13) -> 31 , take^#_0(5, 2) -> 31 , take^#_0(5, 3) -> 31 , take^#_0(5, 5) -> 31 , take^#_0(5, 7) -> 31 , take^#_0(5, 9) -> 31 , take^#_0(5, 13) -> 31 , take^#_0(7, 2) -> 31 , take^#_0(7, 3) -> 31 , take^#_0(7, 5) -> 31 , take^#_0(7, 7) -> 31 , take^#_0(7, 9) -> 31 , take^#_0(7, 13) -> 31 , take^#_0(9, 2) -> 31 , take^#_0(9, 3) -> 31 , take^#_0(9, 5) -> 31 , take^#_0(9, 7) -> 31 , take^#_0(9, 9) -> 31 , take^#_0(9, 13) -> 31 , take^#_0(13, 2) -> 31 , take^#_0(13, 3) -> 31 , take^#_0(13, 5) -> 31 , take^#_0(13, 7) -> 31 , take^#_0(13, 9) -> 31 , take^#_0(13, 13) -> 31} 9) {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} Details: We apply the weight gap principle, strictly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [3] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [4] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [1] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [8] s(x1) = [1] x1 + [8] take(x1, x2) = [1] x1 + [1] x2 + [8] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [1] take^#(x1, x2) = [1] x1 + [1] x2 + [3] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [15] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [1] take^#(x1, x2) = [1] x1 + [1] x2 + [15] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(and(tt(), X)) -> mark(X)} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(and(tt(), X)) -> mark(X)} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [2] tt() = [2] length(x1) = [1] x1 + [0] nil() = [4] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [7] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [2] take^#(x1, x2) = [1] x1 + [1] x2 + [12] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [12] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [7] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [8] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [8] length(x1) = [1] x1 + [2] nil() = [1] s(x1) = [1] x1 + [1] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [1] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , active^#_0(2) -> 15 , active^#_0(3) -> 15 , active^#_0(5) -> 15 , active^#_0(7) -> 15 , active^#_0(9) -> 15 , active^#_0(13) -> 15 , take^#_0(2, 2) -> 31 , take^#_0(2, 3) -> 31 , take^#_0(2, 5) -> 31 , take^#_0(2, 7) -> 31 , take^#_0(2, 9) -> 31 , take^#_0(2, 13) -> 31 , take^#_0(3, 2) -> 31 , take^#_0(3, 3) -> 31 , take^#_0(3, 5) -> 31 , take^#_0(3, 7) -> 31 , take^#_0(3, 9) -> 31 , take^#_0(3, 13) -> 31 , take^#_0(5, 2) -> 31 , take^#_0(5, 3) -> 31 , take^#_0(5, 5) -> 31 , take^#_0(5, 7) -> 31 , take^#_0(5, 9) -> 31 , take^#_0(5, 13) -> 31 , take^#_0(7, 2) -> 31 , take^#_0(7, 3) -> 31 , take^#_0(7, 5) -> 31 , take^#_0(7, 7) -> 31 , take^#_0(7, 9) -> 31 , take^#_0(7, 13) -> 31 , take^#_0(9, 2) -> 31 , take^#_0(9, 3) -> 31 , take^#_0(9, 5) -> 31 , take^#_0(9, 7) -> 31 , take^#_0(9, 9) -> 31 , take^#_0(9, 13) -> 31 , take^#_0(13, 2) -> 31 , take^#_0(13, 3) -> 31 , take^#_0(13, 5) -> 31 , take^#_0(13, 7) -> 31 , take^#_0(13, 9) -> 31 , take^#_0(13, 13) -> 31} 10) {active^#(length(X)) -> c_8(length^#(active(X)))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(length(X)) -> c_8(length^#(active(X)))} Details: We apply the weight gap principle, strictly orienting the rules { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [7] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [4] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [7] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [15] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [3] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [4] s(x1) = [1] x1 + [8] take(x1, x2) = [1] x1 + [1] x2 + [8] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(length(X)) -> c_8(length^#(active(X)))} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(length(X)) -> c_8(length^#(active(X)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(and(tt(), X)) -> mark(X)} and weakly orienting the rules { active^#(length(X)) -> c_8(length^#(active(X))) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(and(tt(), X)) -> mark(X)} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [3] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [8] length(x1) = [1] x1 + [0] nil() = [4] s(x1) = [1] x1 + [8] take(x1, x2) = [1] x1 + [1] x2 + [6] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , active^#(length(X)) -> c_8(length^#(active(X))) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [1] length(x1) = [1] x1 + [2] nil() = [1] s(x1) = [1] x1 + [10] take(x1, x2) = [1] x1 + [1] x2 + [1] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [2] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active^#(length(X)) -> c_8(length^#(active(X))) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [1] and(x1, x2) = [1] x1 + [1] x2 + [1] tt() = [8] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [1] x1 + [1] length^#(x1) = [1] x1 + [8] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active^#(length(X)) -> c_8(length^#(active(X))) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active^#(length(X)) -> c_8(length^#(active(X))) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , active^#_0(2) -> 15 , active^#_0(3) -> 15 , active^#_0(5) -> 15 , active^#_0(7) -> 15 , active^#_0(9) -> 15 , active^#_0(13) -> 15 , length^#_0(2) -> 28 , length^#_0(3) -> 28 , length^#_0(5) -> 28 , length^#_0(7) -> 28 , length^#_0(9) -> 28 , length^#_0(13) -> 28} 11) {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))} Details: We apply the weight gap principle, strictly orienting the rules { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [9] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [6] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [5] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [6] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [8] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [8] nil() = [0] s(x1) = [1] x1 + [6] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [7] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(and(tt(), X)) -> mark(X)} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(and(tt(), X)) -> mark(X)} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [1] tt() = [11] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [7] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [14] nil() = [1] s(x1) = [1] x1 + [2] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [5] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [1] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [1] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [5] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [1] and(x1, x2) = [1] x1 + [1] x2 + [1] tt() = [2] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , active^#_0(2) -> 15 , active^#_0(3) -> 15 , active^#_0(5) -> 15 , active^#_0(7) -> 15 , active^#_0(9) -> 15 , active^#_0(13) -> 15 , cons^#_0(2, 2) -> 17 , cons^#_0(2, 3) -> 17 , cons^#_0(2, 5) -> 17 , cons^#_0(2, 7) -> 17 , cons^#_0(2, 9) -> 17 , cons^#_0(2, 13) -> 17 , cons^#_0(3, 2) -> 17 , cons^#_0(3, 3) -> 17 , cons^#_0(3, 5) -> 17 , cons^#_0(3, 7) -> 17 , cons^#_0(3, 9) -> 17 , cons^#_0(3, 13) -> 17 , cons^#_0(5, 2) -> 17 , cons^#_0(5, 3) -> 17 , cons^#_0(5, 5) -> 17 , cons^#_0(5, 7) -> 17 , cons^#_0(5, 9) -> 17 , cons^#_0(5, 13) -> 17 , cons^#_0(7, 2) -> 17 , cons^#_0(7, 3) -> 17 , cons^#_0(7, 5) -> 17 , cons^#_0(7, 7) -> 17 , cons^#_0(7, 9) -> 17 , cons^#_0(7, 13) -> 17 , cons^#_0(9, 2) -> 17 , cons^#_0(9, 3) -> 17 , cons^#_0(9, 5) -> 17 , cons^#_0(9, 7) -> 17 , cons^#_0(9, 9) -> 17 , cons^#_0(9, 13) -> 17 , cons^#_0(13, 2) -> 17 , cons^#_0(13, 3) -> 17 , cons^#_0(13, 5) -> 17 , cons^#_0(13, 7) -> 17 , cons^#_0(13, 9) -> 17 , cons^#_0(13, 13) -> 17} 12) {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))} Details: We apply the weight gap principle, strictly orienting the rules { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))} and weakly orienting the rules { active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [9] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [6] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [5] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [6] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [8] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(nil())) -> mark(0())} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(nil())) -> mark(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [8] nil() = [0] s(x1) = [1] x1 + [6] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [7] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(and(tt(), X)) -> mark(X)} and weakly orienting the rules { active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(and(tt(), X)) -> mark(X)} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [1] tt() = [15] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [7] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [4] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [14] nil() = [1] s(x1) = [1] x1 + [2] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [5] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [1] and^#(x1, x2) = [1] x1 + [1] x2 + [1] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [1] tt() = [2] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(length(cons(N, L))) -> mark(s(length(L))) , active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2)) , active(take(0(), IL)) -> mark(nil()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , active^#_0(2) -> 15 , active^#_0(3) -> 15 , active^#_0(5) -> 15 , active^#_0(7) -> 15 , active^#_0(9) -> 15 , active^#_0(13) -> 15 , and^#_0(2, 2) -> 26 , and^#_0(2, 3) -> 26 , and^#_0(2, 5) -> 26 , and^#_0(2, 7) -> 26 , and^#_0(2, 9) -> 26 , and^#_0(2, 13) -> 26 , and^#_0(3, 2) -> 26 , and^#_0(3, 3) -> 26 , and^#_0(3, 5) -> 26 , and^#_0(3, 7) -> 26 , and^#_0(3, 9) -> 26 , and^#_0(3, 13) -> 26 , and^#_0(5, 2) -> 26 , and^#_0(5, 3) -> 26 , and^#_0(5, 5) -> 26 , and^#_0(5, 7) -> 26 , and^#_0(5, 9) -> 26 , and^#_0(5, 13) -> 26 , and^#_0(7, 2) -> 26 , and^#_0(7, 3) -> 26 , and^#_0(7, 5) -> 26 , and^#_0(7, 7) -> 26 , and^#_0(7, 9) -> 26 , and^#_0(7, 13) -> 26 , and^#_0(9, 2) -> 26 , and^#_0(9, 3) -> 26 , and^#_0(9, 5) -> 26 , and^#_0(9, 7) -> 26 , and^#_0(9, 9) -> 26 , and^#_0(9, 13) -> 26 , and^#_0(13, 2) -> 26 , and^#_0(13, 3) -> 26 , and^#_0(13, 5) -> 26 , and^#_0(13, 7) -> 26 , and^#_0(13, 9) -> 26 , and^#_0(13, 13) -> 26} 13) {active^#(s(X)) -> c_9(s^#(active(X)))} The usable rules for this path are the following: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(and(tt(), X)) -> mark(X) , active(length(nil())) -> mark(0()) , active(length(cons(N, L))) -> mark(s(length(L))) , active(take(0(), IL)) -> mark(nil()) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(s(X)) -> c_9(s^#(active(X)))} Details: We apply the weight gap principle, strictly orienting the rules {active(take(0(), IL)) -> mark(nil())} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(0(), IL)) -> mark(nil())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(s(X)) -> c_9(s^#(active(X)))} and weakly orienting the rules {active(take(0(), IL)) -> mark(nil())} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(s(X)) -> c_9(s^#(active(X)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(length(nil())) -> mark(0()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules { active^#(s(X)) -> c_9(s^#(active(X))) , active(take(0(), IL)) -> mark(nil())} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(length(nil())) -> mark(0()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [3] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} and weakly orienting the rules { active(length(nil())) -> mark(0()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(s(X)) -> c_9(s^#(active(X))) , active(take(0(), IL)) -> mark(nil())} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [8] nil() = [0] s(x1) = [1] x1 + [2] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(and(tt(), X)) -> mark(X)} and weakly orienting the rules { active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(s(X)) -> c_9(s^#(active(X))) , active(take(0(), IL)) -> mark(nil())} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(and(tt(), X)) -> mark(X)} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [3] tt() = [5] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [7] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(length(cons(N, L))) -> mark(s(length(L)))} and weakly orienting the rules { active(and(tt(), X)) -> mark(X) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(s(X)) -> c_9(s^#(active(X))) , active(take(0(), IL)) -> mark(nil())} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(length(cons(N, L))) -> mark(s(length(L)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [10] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [8] nil() = [4] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [7] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(zeros()) -> mark(cons(0(), zeros()))} and weakly orienting the rules { active(length(cons(N, L))) -> mark(s(length(L))) , active(and(tt(), X)) -> mark(X) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(s(X)) -> c_9(s^#(active(X))) , active(take(0(), IL)) -> mark(nil())} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(zeros()) -> mark(cons(0(), zeros()))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [4] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [2] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(length(cons(N, L))) -> mark(s(length(L))) , active(and(tt(), X)) -> mark(X) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(s(X)) -> c_9(s^#(active(X))) , active(take(0(), IL)) -> mark(nil())} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(length(X)) -> length(active(X)) , active(s(X)) -> s(active(X)) , active(take(X1, X2)) -> take(active(X1), X2) , active(take(X1, X2)) -> take(X1, active(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(zeros()) -> mark(cons(0(), zeros())) , active(length(cons(N, L))) -> mark(s(length(L))) , active(and(tt(), X)) -> mark(X) , active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) , active(length(nil())) -> mark(0()) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(s(X)) -> c_9(s^#(active(X))) , active(take(0(), IL)) -> mark(nil())} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , active^#_0(2) -> 15 , active^#_0(3) -> 15 , active^#_0(5) -> 15 , active^#_0(7) -> 15 , active^#_0(9) -> 15 , active^#_0(13) -> 15 , s^#_0(2) -> 21 , s^#_0(3) -> 21 , s^#_0(5) -> 21 , s^#_0(7) -> 21 , s^#_0(9) -> 21 , s^#_0(13) -> 21} 14) { proper^#(s(X)) -> c_25(s^#(proper(X))) , s^#(ok(X)) -> c_30(s^#(X)) , s^#(mark(X)) -> c_15(s^#(X))} The usable rules for this path are the following: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(s(X)) -> c_25(s^#(proper(X))) , s^#(ok(X)) -> c_30(s^#(X)) , s^#(mark(X)) -> c_15(s^#(X))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [2] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [1] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [1] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [1] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {s^#(ok(X)) -> c_30(s^#(X))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {s^#(ok(X)) -> c_30(s^#(X))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [8] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [1] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [1] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {s^#(mark(X)) -> c_15(s^#(X))} and weakly orienting the rules { s^#(ok(X)) -> c_30(s^#(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {s^#(mark(X)) -> c_15(s^#(X))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [9] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [8] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [1] x1 + [1] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [1] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(s(X)) -> c_25(s^#(proper(X)))} and weakly orienting the rules { s^#(mark(X)) -> c_15(s^#(X)) , s^#(ok(X)) -> c_30(s^#(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(s(X)) -> c_25(s^#(proper(X)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [4] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [1] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [1] x1 + [2] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [1] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { proper^#(s(X)) -> c_25(s^#(proper(X))) , s^#(mark(X)) -> c_15(s^#(X)) , s^#(ok(X)) -> c_30(s^#(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [1] tt() = [0] length(x1) = [1] x1 + [1] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [1] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(s(X)) -> c_25(s^#(proper(X))) , s^#(mark(X)) -> c_15(s^#(X)) , s^#(ok(X)) -> c_30(s^#(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(s(X)) -> c_25(s^#(proper(X))) , s^#(mark(X)) -> c_15(s^#(X)) , s^#(ok(X)) -> c_30(s^#(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , s^#_0(2) -> 21 , s^#_0(3) -> 21 , s^#_0(5) -> 21 , s^#_0(7) -> 21 , s^#_0(9) -> 21 , s^#_0(13) -> 21 , c_15_0(21) -> 21 , proper^#_0(2) -> 39 , proper^#_0(3) -> 39 , proper^#_0(5) -> 39 , proper^#_0(7) -> 39 , proper^#_0(9) -> 39 , proper^#_0(13) -> 39 , c_30_0(21) -> 21} 15) { proper^#(length(X)) -> c_23(length^#(proper(X))) , length^#(ok(X)) -> c_29(length^#(X)) , length^#(mark(X)) -> c_14(length^#(X))} The usable rules for this path are the following: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(length(X)) -> c_23(length^#(proper(X))) , length^#(ok(X)) -> c_29(length^#(X)) , length^#(mark(X)) -> c_14(length^#(X))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [1] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [1] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [1] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {length^#(ok(X)) -> c_29(length^#(X))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {length^#(ok(X)) -> c_29(length^#(X))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [1] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [1] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [1] x1 + [4] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(length(X)) -> c_23(length^#(proper(X)))} and weakly orienting the rules { length^#(ok(X)) -> c_29(length^#(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(length(X)) -> c_23(length^#(proper(X)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [1] x1 + [1] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [3] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [1] x1 + [1] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {length^#(mark(X)) -> c_14(length^#(X))} and weakly orienting the rules { proper^#(length(X)) -> c_23(length^#(proper(X))) , length^#(ok(X)) -> c_29(length^#(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {length^#(mark(X)) -> c_14(length^#(X))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [4] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [1] x1 + [7] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [1] x1 + [1] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { length^#(mark(X)) -> c_14(length^#(X)) , proper^#(length(X)) -> c_23(length^#(proper(X))) , length^#(ok(X)) -> c_29(length^#(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [2] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [1] 0() = [8] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [8] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [1] x1 + [1] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [1] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [4] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [1] x1 + [1] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [1] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , length^#(mark(X)) -> c_14(length^#(X)) , proper^#(length(X)) -> c_23(length^#(proper(X))) , length^#(ok(X)) -> c_29(length^#(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , length^#(mark(X)) -> c_14(length^#(X)) , proper^#(length(X)) -> c_23(length^#(proper(X))) , length^#(ok(X)) -> c_29(length^#(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , length^#_0(2) -> 28 , length^#_0(3) -> 28 , length^#_0(5) -> 28 , length^#_0(7) -> 28 , length^#_0(9) -> 28 , length^#_0(13) -> 28 , c_14_0(28) -> 28 , proper^#_0(2) -> 39 , proper^#_0(3) -> 39 , proper^#_0(5) -> 39 , proper^#_0(7) -> 39 , proper^#_0(9) -> 39 , proper^#_0(13) -> 39 , c_29_0(28) -> 28} 16) { proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} The usable rules for this path are the following: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2)) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [1] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [1] x1 + [1] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [2] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [8] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [2] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [1] x1 + [1] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [1] x1 + [1] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [1] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [1] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [0] c_17(x1) = [1] x1 + [0] proper^#(x1) = [1] x1 + [4] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [1] x1 + [1] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , take^#(X1, mark(X2)) -> c_17(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_16(take^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 2 , 0_0() -> 2 , tt_0() -> 2 , nil_0() -> 2 , ok_0(2) -> 2 , take^#_0(2, 2) -> 1 , c_16_0(1) -> 1 , c_17_0(1) -> 1 , proper^#_0(2) -> 1 , c_31_0(1) -> 1} 17) { proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2))) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} The usable rules for this path are the following: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2))) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [4] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [2] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [1] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [1] x1 + [1] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [1] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [1] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [1] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [1] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} and weakly orienting the rules { proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [4] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [12] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [15] c_18() = [0] c_19(x1) = [1] x1 + [1] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [1] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2)) , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [4] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [2] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [0] c_18() = [0] c_19(x1) = [1] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2)) , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2)) , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 2 , 0_0() -> 2 , tt_0() -> 2 , nil_0() -> 2 , ok_0(2) -> 2 , cons^#_0(2, 2) -> 1 , c_12_0(1) -> 1 , proper^#_0(2) -> 1 , c_27_0(1) -> 1} 18) { proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2))) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} The usable rules for this path are the following: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2))) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [4] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [2] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [1] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [1] x1 + [1] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [1] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [1] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [1] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [1] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} and weakly orienting the rules { proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [4] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [12] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [15] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [1] x1 + [1] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [1] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { and^#(mark(X1), X2) -> c_13(and^#(X1, X2)) , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [9] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [2] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [1] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [1] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [5] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [1] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [1] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2)) , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , and^#(mark(X1), X2) -> c_13(and^#(X1, X2)) , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 2 , 0_0() -> 2 , tt_0() -> 2 , nil_0() -> 2 , ok_0(2) -> 2 , and^#_0(2, 2) -> 1 , c_13_0(1) -> 1 , proper^#_0(2) -> 1 , c_28_0(1) -> 1} 19) {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))} The usable rules for this path are the following: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [8] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [1] x1 + [1] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [6] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [1] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [8] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [2] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [1] x1 + [1] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , cons^#_0(2, 2) -> 17 , cons^#_0(2, 3) -> 17 , cons^#_0(2, 5) -> 17 , cons^#_0(2, 7) -> 17 , cons^#_0(2, 9) -> 17 , cons^#_0(2, 13) -> 17 , cons^#_0(3, 2) -> 17 , cons^#_0(3, 3) -> 17 , cons^#_0(3, 5) -> 17 , cons^#_0(3, 7) -> 17 , cons^#_0(3, 9) -> 17 , cons^#_0(3, 13) -> 17 , cons^#_0(5, 2) -> 17 , cons^#_0(5, 3) -> 17 , cons^#_0(5, 5) -> 17 , cons^#_0(5, 7) -> 17 , cons^#_0(5, 9) -> 17 , cons^#_0(5, 13) -> 17 , cons^#_0(7, 2) -> 17 , cons^#_0(7, 3) -> 17 , cons^#_0(7, 5) -> 17 , cons^#_0(7, 7) -> 17 , cons^#_0(7, 9) -> 17 , cons^#_0(7, 13) -> 17 , cons^#_0(9, 2) -> 17 , cons^#_0(9, 3) -> 17 , cons^#_0(9, 5) -> 17 , cons^#_0(9, 7) -> 17 , cons^#_0(9, 9) -> 17 , cons^#_0(9, 13) -> 17 , cons^#_0(13, 2) -> 17 , cons^#_0(13, 3) -> 17 , cons^#_0(13, 5) -> 17 , cons^#_0(13, 7) -> 17 , cons^#_0(13, 9) -> 17 , cons^#_0(13, 13) -> 17 , proper^#_0(2) -> 39 , proper^#_0(3) -> 39 , proper^#_0(5) -> 39 , proper^#_0(7) -> 39 , proper^#_0(9) -> 39 , proper^#_0(13) -> 39} 20) {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))} The usable rules for this path are the following: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [8] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [1] x1 + [1] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [6] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [1] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [7] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [8] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [1] x1 + [1] x2 + [1] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [5] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [1] x1 + [1] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , take^#_0(2, 2) -> 31 , take^#_0(2, 3) -> 31 , take^#_0(2, 5) -> 31 , take^#_0(2, 7) -> 31 , take^#_0(2, 9) -> 31 , take^#_0(2, 13) -> 31 , take^#_0(3, 2) -> 31 , take^#_0(3, 3) -> 31 , take^#_0(3, 5) -> 31 , take^#_0(3, 7) -> 31 , take^#_0(3, 9) -> 31 , take^#_0(3, 13) -> 31 , take^#_0(5, 2) -> 31 , take^#_0(5, 3) -> 31 , take^#_0(5, 5) -> 31 , take^#_0(5, 7) -> 31 , take^#_0(5, 9) -> 31 , take^#_0(5, 13) -> 31 , take^#_0(7, 2) -> 31 , take^#_0(7, 3) -> 31 , take^#_0(7, 5) -> 31 , take^#_0(7, 7) -> 31 , take^#_0(7, 9) -> 31 , take^#_0(7, 13) -> 31 , take^#_0(9, 2) -> 31 , take^#_0(9, 3) -> 31 , take^#_0(9, 5) -> 31 , take^#_0(9, 7) -> 31 , take^#_0(9, 9) -> 31 , take^#_0(9, 13) -> 31 , take^#_0(13, 2) -> 31 , take^#_0(13, 3) -> 31 , take^#_0(13, 5) -> 31 , take^#_0(13, 7) -> 31 , take^#_0(13, 9) -> 31 , take^#_0(13, 13) -> 31 , proper^#_0(2) -> 39 , proper^#_0(3) -> 39 , proper^#_0(5) -> 39 , proper^#_0(7) -> 39 , proper^#_0(9) -> 39 , proper^#_0(13) -> 39} 21) {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))} The usable rules for this path are the following: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [8] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [1] x1 + [1] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [6] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [1] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [3] and(x1, x2) = [1] x1 + [1] x2 + [2] tt() = [0] length(x1) = [1] x1 + [0] nil() = [8] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [3] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [8] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [1] x1 + [3] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , and^#_0(2, 2) -> 26 , and^#_0(2, 3) -> 26 , and^#_0(2, 5) -> 26 , and^#_0(2, 7) -> 26 , and^#_0(2, 9) -> 26 , and^#_0(2, 13) -> 26 , and^#_0(3, 2) -> 26 , and^#_0(3, 3) -> 26 , and^#_0(3, 5) -> 26 , and^#_0(3, 7) -> 26 , and^#_0(3, 9) -> 26 , and^#_0(3, 13) -> 26 , and^#_0(5, 2) -> 26 , and^#_0(5, 3) -> 26 , and^#_0(5, 5) -> 26 , and^#_0(5, 7) -> 26 , and^#_0(5, 9) -> 26 , and^#_0(5, 13) -> 26 , and^#_0(7, 2) -> 26 , and^#_0(7, 3) -> 26 , and^#_0(7, 5) -> 26 , and^#_0(7, 7) -> 26 , and^#_0(7, 9) -> 26 , and^#_0(7, 13) -> 26 , and^#_0(9, 2) -> 26 , and^#_0(9, 3) -> 26 , and^#_0(9, 5) -> 26 , and^#_0(9, 7) -> 26 , and^#_0(9, 9) -> 26 , and^#_0(9, 13) -> 26 , and^#_0(13, 2) -> 26 , and^#_0(13, 3) -> 26 , and^#_0(13, 5) -> 26 , and^#_0(13, 7) -> 26 , and^#_0(13, 9) -> 26 , and^#_0(13, 13) -> 26 , proper^#_0(2) -> 39 , proper^#_0(3) -> 39 , proper^#_0(5) -> 39 , proper^#_0(7) -> 39 , proper^#_0(9) -> 39 , proper^#_0(13) -> 39} 22) {proper^#(length(X)) -> c_23(length^#(proper(X)))} The usable rules for this path are the following: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(length(X)) -> c_23(length^#(proper(X)))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [1] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [1] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(length(X)) -> c_23(length^#(proper(X)))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(length(X)) -> c_23(length^#(proper(X)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [4] take(x1, x2) = [1] x1 + [1] x2 + [14] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [1] x1 + [1] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [1] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { proper^#(length(X)) -> c_23(length^#(proper(X))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [4] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [1] x1 + [3] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [4] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [1] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(length(X)) -> c_23(length^#(proper(X))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(length(X)) -> c_23(length^#(proper(X))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(13) -> 3 , 0_0() -> 5 , tt_0() -> 7 , nil_0() -> 9 , ok_0(2) -> 13 , ok_0(3) -> 13 , ok_0(5) -> 13 , ok_0(7) -> 13 , ok_0(9) -> 13 , ok_0(13) -> 13 , length^#_0(2) -> 28 , length^#_0(3) -> 28 , length^#_0(5) -> 28 , length^#_0(7) -> 28 , length^#_0(9) -> 28 , length^#_0(13) -> 28 , proper^#_0(2) -> 39 , proper^#_0(3) -> 39 , proper^#_0(5) -> 39 , proper^#_0(7) -> 39 , proper^#_0(9) -> 39 , proper^#_0(13) -> 39} 23) {proper^#(s(X)) -> c_25(s^#(proper(X)))} The usable rules for this path are the following: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(s(X)) -> c_25(s^#(proper(X)))} Details: We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [1] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(s(X)) -> c_25(s^#(proper(X)))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(s(X)) -> c_25(s^#(proper(X)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [1] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [1] x1 + [2] nil() = [0] s(x1) = [1] x1 + [8] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [1] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} and weakly orienting the rules { proper^#(s(X)) -> c_25(s^#(proper(X))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [2] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [8] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [4] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [1] x1 + [4] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(s(X)) -> c_25(s^#(proper(X))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(length(X)) -> length(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , length(mark(X)) -> mark(length(X)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , length(ok(X)) -> ok(length(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(zeros()) -> ok(zeros()) , proper(0()) -> ok(0()) , proper(tt()) -> ok(tt()) , proper(nil()) -> ok(nil()) , proper^#(s(X)) -> c_25(s^#(proper(X))) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { zeros_0() -> 2 , mark_0(2) -> 2 , 0_0() -> 2 , tt_0() -> 2 , nil_0() -> 2 , ok_0(2) -> 2 , s^#_0(2) -> 1 , proper^#_0(2) -> 1} 24) { active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL))) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} The usable rules for this path are the following: { take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL))) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [1] x1 + [8] take(x1, x2) = [1] x1 + [1] x2 + [1] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [1] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [1] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} and weakly orienting the rules {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [1] x1 + [12] take(x1, x2) = [1] x1 + [1] x2 + [1] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [1] x1 + [3] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [2] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [1] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} and weakly orienting the rules { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [8] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [1] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [1] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [12] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [10] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [1] x1 + [1] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [1] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2))} Weak Rules: { cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2))} Weak Rules: { cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2)) , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { mark_0(3) -> 3 , mark_0(13) -> 3 , ok_0(3) -> 13 , ok_0(13) -> 13 , active^#_0(3) -> 15 , active^#_0(13) -> 15 , cons^#_0(3, 3) -> 17 , cons^#_0(3, 13) -> 17 , cons^#_0(13, 3) -> 17 , cons^#_0(13, 13) -> 17 , c_12_0(17) -> 17 , c_27_0(17) -> 17} 25) { active^#(length(cons(N, L))) -> c_3(s^#(length(L))) , s^#(ok(X)) -> c_30(s^#(X)) , s^#(mark(X)) -> c_15(s^#(X))} The usable rules for this path are the following: { length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X)) , active^#(length(cons(N, L))) -> c_3(s^#(length(L))) , s^#(ok(X)) -> c_30(s^#(X)) , s^#(mark(X)) -> c_15(s^#(X))} Details: We apply the weight gap principle, strictly orienting the rules {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [1] x1 + [1] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [1] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [2] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {s^#(ok(X)) -> c_30(s^#(X))} and weakly orienting the rules {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {s^#(ok(X)) -> c_30(s^#(X))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [5] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [1] x1 + [1] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [12] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [1] x1 + [0] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {s^#(mark(X)) -> c_15(s^#(X))} and weakly orienting the rules { s^#(ok(X)) -> c_30(s^#(X)) , active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {s^#(mark(X)) -> c_15(s^#(X))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [8] cons(x1, x2) = [1] x1 + [1] x2 + [15] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [1] x1 + [1] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [1] x1 + [0] s^#(x1) = [1] x1 + [4] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [1] x1 + [4] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [1] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X))} Weak Rules: { s^#(mark(X)) -> c_15(s^#(X)) , s^#(ok(X)) -> c_30(s^#(X)) , active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X))} Weak Rules: { s^#(mark(X)) -> c_15(s^#(X)) , s^#(ok(X)) -> c_30(s^#(X)) , active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { mark_0(3) -> 3 , mark_0(13) -> 3 , ok_0(3) -> 13 , ok_0(13) -> 13 , active^#_0(3) -> 15 , active^#_0(13) -> 15 , s^#_0(3) -> 21 , s^#_0(13) -> 21 , c_15_0(21) -> 21 , c_30_0(21) -> 21} 26) {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} The usable rules for this path are the following: { take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} Details: We apply the weight gap principle, strictly orienting the rules {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [1] x1 + [8] take(x1, x2) = [1] x1 + [1] x2 + [1] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [7] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {take(ok(X1), ok(X2)) -> ok(take(X1, X2))} and weakly orienting the rules {active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {take(ok(X1), ok(X2)) -> ok(take(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [8] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [1] x1 + [9] take(x1, x2) = [1] x1 + [1] x2 + [1] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [3] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [1] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [1] x1 + [7] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2))} Weak Rules: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { take(mark(X1), X2) -> mark(take(X1, X2)) , take(X1, mark(X2)) -> mark(take(X1, X2))} Weak Rules: { take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { mark_0(3) -> 3 , mark_0(13) -> 3 , ok_0(3) -> 13 , ok_0(13) -> 13 , active^#_0(3) -> 15 , active^#_0(13) -> 15 , cons^#_0(3, 3) -> 17 , cons^#_0(3, 13) -> 17 , cons^#_0(13, 3) -> 17 , cons^#_0(13, 13) -> 17} 27) {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} The usable rules for this path are the following: { length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X)) , active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} Details: We apply the weight gap principle, strictly orienting the rules {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [1] x1 + [0] cons(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [1] x1 + [1] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [1] x1 + [1] s^#(x1) = [1] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X))} Weak Rules: {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X))} Weak Rules: {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { mark_0(3) -> 3 , mark_0(13) -> 3 , ok_0(3) -> 13 , ok_0(13) -> 13 , active^#_0(3) -> 15 , active^#_0(13) -> 15 , s^#_0(3) -> 21 , s^#_0(13) -> 21} 28) {active^#(zeros()) -> c_0(cons^#(0(), zeros()))} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {active^#(zeros()) -> c_0(cons^#(0(), zeros()))} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {active^#(zeros()) -> c_0(cons^#(0(), zeros()))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(zeros()) -> c_0(cons^#(0(), zeros()))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [1] x1 + [0] cons^#(x1, x2) = [1] x1 + [1] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {active^#(zeros()) -> c_0(cons^#(0(), zeros()))} Details: The given problem does not contain any strict rules 29) {active^#(length(nil())) -> c_2()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {active^#(length(nil())) -> c_2()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {active^#(length(nil())) -> c_2()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(length(nil())) -> c_2()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [1] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {active^#(length(nil())) -> c_2()} Details: The given problem does not contain any strict rules 30) {active^#(and(tt(), X)) -> c_1()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {active^#(and(tt(), X)) -> c_1()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {active^#(and(tt(), X)) -> c_1()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(and(tt(), X)) -> c_1()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {active^#(and(tt(), X)) -> c_1()} Details: The given problem does not contain any strict rules 31) {active^#(take(0(), IL)) -> c_4()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {active^#(take(0(), IL)) -> c_4()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {active^#(take(0(), IL)) -> c_4()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(take(0(), IL)) -> c_4()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [1] x1 + [1] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {active^#(take(0(), IL)) -> c_4()} Details: The given problem does not contain any strict rules 32) {proper^#(zeros()) -> c_18()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {proper^#(zeros()) -> c_18()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {proper^#(zeros()) -> c_18()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(zeros()) -> c_18()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {proper^#(zeros()) -> c_18()} Details: The given problem does not contain any strict rules 33) {proper^#(0()) -> c_20()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {proper^#(0()) -> c_20()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {proper^#(0()) -> c_20()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(0()) -> c_20()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {proper^#(0()) -> c_20()} Details: The given problem does not contain any strict rules 34) {proper^#(tt()) -> c_22()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {proper^#(tt()) -> c_22()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {proper^#(tt()) -> c_22()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(tt()) -> c_22()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {proper^#(tt()) -> c_22()} Details: The given problem does not contain any strict rules 35) {proper^#(nil()) -> c_24()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {proper^#(nil()) -> c_24()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {proper^#(nil()) -> c_24()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(nil()) -> c_24()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] zeros() = [0] mark(x1) = [0] x1 + [0] cons(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] length(x1) = [0] x1 + [0] nil() = [0] s(x1) = [0] x1 + [0] take(x1, x2) = [0] x1 + [0] x2 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0(x1) = [0] x1 + [0] cons^#(x1, x2) = [0] x1 + [0] x2 + [0] c_1() = [0] c_2() = [0] c_3(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_8(x1) = [0] x1 + [0] length^#(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] take^#(x1, x2) = [0] x1 + [0] x2 + [0] c_11(x1) = [0] x1 + [0] c_12(x1) = [0] x1 + [0] c_13(x1) = [0] x1 + [0] c_14(x1) = [0] x1 + [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_18() = [0] c_19(x1) = [0] x1 + [0] c_20() = [0] c_21(x1) = [0] x1 + [0] c_22() = [0] c_23(x1) = [0] x1 + [0] c_24() = [0] c_25(x1) = [0] x1 + [0] c_26(x1) = [0] x1 + [0] c_27(x1) = [0] x1 + [0] c_28(x1) = [0] x1 + [0] c_29(x1) = [0] x1 + [0] c_30(x1) = [0] x1 + [0] c_31(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_32(x1) = [0] x1 + [0] c_33(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {proper^#(nil()) -> c_24()} Details: The given problem does not contain any strict rules